As computers are downsized and network systems and multimedia communication are extensively disseminated, the quantity of data that a personal computer handles is being considerably increased. With the increase in a quantity of data, the processing capabilities of the hard disk and the protection of data are becoming the center of considerable attention.
Disk storage devices using a Redundant Array of Inexpensive Disks (RAID) system have been proposed in view of the above points. This RAID system is one which employs a plurality of hard disks (hereinafter referred to as HDDs) and realizes mass storage, high-speed processing, and protection of data. In the RAID system, there are six levels, RAID 0 to RAID 5, as shown in FIG. 15. In RAID 0, data (A to D) is divided to be recorded on a plurality of hard disks. In RAID 1, the same data is recorded on two HDDs. In RAID 2, data (A to D) is divided to be recorded on a plurality of HDDs and an HDD for ECC is employed. In RAID 3, data (A to D) is divided to be recorded on a plurality of HDDs and a single HDD for parity is employed. The parity is generated in units of word. In RAID 4, parities are generated at a unit of block. HDD for parity is determined in advance. In RAID 5, parities are distributed to all of the HDDs. In all of RAID 0 to RAID 5, a plurality of HDDs physically appears to be a single HDD logically.
In the disk storage device using RAID 5, in writing data, it is necessary to read data (old data) to be overwritten and original parity data (old parity data) out of the respective HDDs, and thereafter it is necessary to write new data and new parity data to the respective HDDs. That is, in order to write data corresponding to one sector, a data read operation and a data write operation are needed with respect to each of the two HDDs and therefore the input/output operations are needed 4 times.
On the one hand, in the RAID system with a single data bus, the processing speed of the data writing is slow and cannot be increased. If, on the other hand, there is a plurality of data buses, the number of times of data transfer can be apparently reduced to half. If the data transfer is one-sector writing, the number of HDDs that can be operated at a time would be limited to two even if there were three or more data buses. Therefore, data buses other than the two data buses with respect to the two HDDs being operated are not to be used. For this reason, even if a RAID system had three or more data buses, it would become identical in performance to a RAID system with two data buses.
Thus, two data buses are sufficient in a disk storage device using a RAID system, but there did not exist a disk storage device that employs a RAID system which is effectively operated with two data buses. Therefore, the disk storage device with a single data bus has the disadvantage that its processing speed is poor, and the disk storage device with three or more data buses has the disadvantage that data buses other than the data bus connected to a HDD being operated are unnecessary.
Incidentally, although a disk storage drive exists that uses a Small Computer System Interface (SCSI) (this drive will hereinafter be referred to a SCSI drive) and a disk storage drive with an AT Attachment (ATA) interface (this drive will hereinafter be referred to as an ATA drive), the ATA drive can be directly controlled by a microcontroller and therefore, in a construction having a small-scale HDD, the ATA drive is superior in several respects to the SCSI drive.
However, because a microcontroller must control the ATA drive directly, the load thereon becomes large. That is, since the microcontroller directly controls the timing adjustment of the ATA drive in each mode, the load on the microcontroller becomes large. In addition, when a microcontroller providing high-speed operation is employed, it is not possible from the standpoint of timing to access the ATA drive as a normal external memory-mapped device.
Further, in a disk storage device with a RAID system including an ATA interface, if too many interrupts are transferred through each HDD to the microcontroller, the operation processing requirement becomes a considerable load.
In view of the facts described above, an object of the present invention is to provide a disk storage device which is capable of writing data with a simple configuration and reading data quickly.